package com.css.fxfzypg.modules.saresults.entity.jcsj;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

@SuperBuilder
@Data
@NoArgsConstructor
@AllArgsConstructor
@ExcelTarget("JcRfcpY02")
public class JcRfcpY02 implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;

    /**
     * 钻孔综合编号  两位大写英文字母+5位阿拉伯数字
     */
    @Excel(name = "钻孔综合编号", width = 20, orderNum = "1")
    private String drillSynthesizeCode;

    /**
     * 钻孔依托的项目报告
     */
    @Excel(name = "钻孔依托的项目报告", width = 20, orderNum = "2")
    private String drillDependProject;

    /**
     * 项目完成单位
     */
    @Excel(name = "项目完成单位", width = 20, orderNum = "3")
    private String projectCompleteInstitution;

    /**
     * 项目完成时间
     */
    @Excel(name = "项目完成时间", width = 20, orderNum = "4")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date projectCompleteDate;

    /**
     * 项目负责人
     */
    @Excel(name = "项目负责人", width = 20, orderNum = "5")
    private String projectPrincipal;

    /**
     * 钻孔勘察单位
     */
    @Excel(name = "钻孔勘察单位", width = 20, orderNum = "6")
    private String drillConstructionInstitution;

    /**
     * 钻孔勘察负责人
     */
    @Excel(name = "钻孔勘察负责人", width = 20, orderNum = "7")
    private String drillConstructionPrincipal;

    /**
     * 勘察施工日期
     */
    @Excel(name = "勘察施工日期", width = 20, orderNum = "8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date constructionStartDate;

    /**
     * 勘察报告日期
     */
    @Excel(name = "construction_report_date", width = 20, orderNum = "9")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date constructionReportDate;

    /**
     * 钻孔编号
     */
    @Excel(name = "钻孔编号", width = 20, orderNum = "10")
    private String drillCode;

    /**
     * 孔口记录坐标X轴
     */
    @Excel(name = "孔口记录坐标X轴", width = 20, orderNum = "11")
    private Double drillX;

    /**
     * 孔口记录坐标Y轴
     */
    @Excel(name = "孔口记录坐标Y轴", width = 20, orderNum = "12")
    private Double drillY;

    /**
     * 孔位经度（°） 72.0000~136.0000之间，小数点后至少4位
     */
    @Excel(name = "孔位经度（°）", width = 20, orderNum = "13")
    private Double longitude;

    /**
     * 孔位纬度（°） 3.0000~56.0000之间，小数点后至少4位
     */
    @Excel(name = "孔位纬度（°）", width = 20, orderNum = "14")
    private Double latitude;

    /**
     * 钻孔深度（m）
     */
    @Excel(name = "钻孔深度（m）", width = 20, orderNum = "15")
    private Double drillDepth;

    /**
     * 地面高程（m）
     */
    @Excel(name = "地面高程（m）", width = 20, orderNum = "16")
    private Double elevation;

    /**
     * 稳定水位深度（m）
     */
    @Excel(name = "稳定水位深度（m）", width = 20, orderNum = "17")
    private Double stableWaterDepth;

    /**
     * 坐标系说明
     */
    @Excel(name = "坐标系说明", width = 20, orderNum = "18")
    private String coordinatesDeclare;

    /**
     * 高程系说明
     */
    @Excel(name = "高程系说明", width = 20, orderNum = "19")
    private String elevationDeclare;

    /**
     * 钻孔所在省级行政区
     */
    @Excel(name = "钻孔所在省级行政区", width = 20, orderNum = "20")
    private String province;

    /**
     * 钻孔所在地市级行政区
     */
    @Excel(name = "钻孔所在地市级行政区", width = 20, orderNum = "21")
    private String city;

    /**
     * 钻孔所在县级行政区
     */
    @Excel(name = "钻孔所在县级行政区", width = 20, orderNum = "22")
    private String district;

    /**
     * 钻孔所在乡级行政区
     */
    @Excel(name = "钻孔所在乡级行政区", width = 20, orderNum = "23")
    private String village;

    /**
     * 钻孔说明备注
     */
    @Excel(name = "钻孔说明备注", width = 20, orderNum = "27")
    private String drillRemark;

    /**
     * 数据状态：0：未质检；1：系统质检不通过；2：系统质检通过；3：人工质检不通过。4：人工质检通过
     */
    @Excel(name = "数据状态：0：未质检；1：系统质检不通过；2：系统质检通过；3：人工质检不通过。4：人工质检通过", width = 20, orderNum = "24")
    private String dataState;

    /**
     * 质检意见
     */
    @Excel(name = "质检意见", width = 20, orderNum = "25")
    private String qualityOpinion;

    /**
     * 附件
     */
    @Excel(name = "附件", width = 20, orderNum = "26")
    private String accessory;

    /**
     * 是否有效,0:无效,1:有效
     */
    @Excel(name = "是否有效,0:无效,1:有效", width = 20, orderNum = "28")
    private String isValid;

    private String createUser;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    private String updateUser;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 质检人
     */
    @Excel(name = "质检人", width = 20, orderNum = "29")
    private String qualityUser;

    /**
     * 质检时间
     */
    @Excel(name = "质检时间", width = 20, orderNum = "30")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date qualityTime;

    /**
     * 钻孔所在省级行政区的id
     */
    private String provinceId;

    /**
     * 钻孔所在地市级行政区的id
     */
    private String cityId;

    /**
     * 钻孔所在县级行政区的id
     */
    private String districtId;

    /**
     * 钻孔所在的行政区划code
     */
    private String divisionCode;

    /**
     * 1(省级)，2(国家级)
     */
    private String sourceFlag;

    /**
     * 0正常1删除
     */
    private String delFlag;

    /**
     * 数据版本
     */
    private String dataVersion;

    private String extends1;

    private String extends2;

    private String extends3;

    private String extends4;

    private String extends5;

    private String extends6;

    private String extends7;

    private String extends8;

    private String extends9;

    private String extends10;

}

